Skip to main content
Export top matching Vacancies for Employees.
curl --request POST \
  --url https://{tenant_name}.{region}.techwolf.ai/export/employees/matching_vacancies \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "filters": [
    {
      "filter": "max_geo_distance",
      "max_geo_distance": 50
    },
    {
      "filter": "multi_max_geo_distances",
      "multi_max_geo_distances": [
        {
          "max_geo_distance": 20,
          "location": {
            "lat": 51.34,
            "lng": 3.15
          }
        },
        {
          "max_geo_distance": 20,
          "location": {
            "country": "BE",
            "postal_code": 9000
          }
        }
      ]
    },
    {
      "filter": "language",
      "max_overqualification": 2,
      "max_underqualification": 1
    },
    {
      "filter": "last_updated",
      "value": "2022-01-01",
      "operator": "lt"
    },
    {
      "filter": "custom_property_equal",
      "from_entity_property": "desired_wage",
      "to_entity_property": "wage"
    },
    {
      "filter": "custom_property",
      "property_name": "direct_manager",
      "property_value": "John Doe"
    },
    {
      "filter": "custom_property_is_in",
      "from_entity_property": "required_drivers_license",
      "to_entity_property": "drivers_licenses"
    },
    {
      "filter": "custom_property_is_in_list",
      "property_name": "drivers_license",
      "possible_values": [
        "C",
        "CE"
      ]
    },
    {
      "filter": "custom_property_contains",
      "from_entity_property": "shift_regime_codes",
      "to_entity_property": "desired_regime"
    },
    {
      "filter": "custom_property_list_overlap",
      "from_entity_property": "desired_industries",
      "to_entity_property": "industries"
    },
    {
      "filter": "custom_property_contains_element",
      "property_name": "industries",
      "property_value": "electronics"
    },
    {
      "filter": "external_id_is_in_list",
      "external_ids": [
        "c350500-eb84-42dc-a79f-5e7b1fe897b7",
        "b450500-eb84-42dc-a79f-5e7b1fe897c8"
      ]
    }
  ],
  "weights": [
    {
      "weight": "skills_match",
      "value": 1
    },
    {
      "weight": "desired_functions",
      "value": 0.03
    },
    {
      "weight": "geo_distance",
      "value": 0.1,
      "full_score_distance": 5,
      "zero_score_distance": 50
    },
    {
      "weight": "language",
      "value": 0.1,
      "max_overqualification": 2,
      "max_underqualification": 3
    },
    {
      "weight": "custom_property",
      "value": 0.04,
      "property_name": "yearly_salary",
      "operator": "gte",
      "property_value": 45000
    },
    {
      "weight": "custom_property_is_in",
      "value": 0.06,
      "from_entity_property": "desired_work_regime",
      "to_entity_property": "offered_work_regimes"
    },
    {
      "weight": "custom_property_is_in_list",
      "value": 0.05,
      "property_name": "region",
      "possible_values": [
        "Flanders",
        "Wallonia"
      ]
    },
    {
      "weight": "custom_property_contains",
      "value": 0.07,
      "from_entity_property": "sectors",
      "to_entity_property": "desired_sector"
    },
    {
      "weight": "custom_property_contains_element",
      "value": 0.04,
      "property_name": "industries",
      "property_value": [
        "Electronics",
        "Aviation"
      ]
    },
    {
      "weight": "custom_property_list_overlap",
      "value": 0.04,
      "from_entity_property": "desired_industries",
      "to_entity_property": "industries"
    }
  ],
  "limit": 10,
  "match_limit_per_entity": 10,
  "score_min_threshold": 0.7,
  "starting_after": "a3903505-eb84-42dc-a79f-5e7b1fe897b7"
}
'
{
"has_next": true,
"next_starting_after": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
"records": [
{
"employee_id": "employee_1_id",
"matches": [
{
"vacancy_id": "vacancy_1_id",
"score": 0.87657
},
{
"vacancy_id": "vacancy_2_id",
"score": 0.82341
}
]
}
]
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Query Parameters

response_format
enum<string>
default:simple

If set to explained, the response will include an explanation of the match.

Available options:
simple,
explained
Example:

"explained"

external_vendor
enum<string>

The external vendor vocabulary you want to see the Skills displayed in. This will only work for vendors that are activated on your tenant.

Available options:
workday,
sap_attribute_library
Example:

"workday"

Body

application/json

List of weights to be applied during matching

filters
(max_geo_distance · object | multi_max_geo_distances · object | language · object | last_updated · object | custom_property_equal · object | custom_property · object | custom_property_is_in · object | custom_property_is_in_list · object | custom_property_contains · object | custom_property_contains_element · object | custom_property_list_overlap · object | external_id_is_in_list · object | exclude_match_feedback · object)[]
required
Example:
[
{
"filter": "max_geo_distance",
"max_geo_distance": 50
},
{
"filter": "multi_max_geo_distances",
"multi_max_geo_distances": [
{
"max_geo_distance": 20,
"location": { "lat": 51.34, "lng": 3.15 }
},
{
"max_geo_distance": 20,
"location": { "country": "BE", "postal_code": 9000 }
}
]
},
{
"filter": "language",
"max_overqualification": 2,
"max_underqualification": 1
},
{
"filter": "last_updated",
"value": "2022-01-01",
"operator": "lt"
},
{
"filter": "custom_property_equal",
"from_entity_property": "desired_wage",
"to_entity_property": "wage"
},
{
"filter": "custom_property",
"property_name": "direct_manager",
"property_value": "John Doe"
},
{
"filter": "custom_property_is_in",
"from_entity_property": "required_drivers_license",
"to_entity_property": "drivers_licenses"
},
{
"filter": "custom_property_is_in_list",
"property_name": "drivers_license",
"possible_values": ["C", "CE"]
},
{
"filter": "custom_property_contains",
"from_entity_property": "shift_regime_codes",
"to_entity_property": "desired_regime"
},
{
"filter": "custom_property_list_overlap",
"from_entity_property": "desired_industries",
"to_entity_property": "industries"
},
{
"filter": "custom_property_contains_element",
"property_name": "industries",
"property_value": "electronics"
},
{
"filter": "external_id_is_in_list",
"external_ids": [
"c350500-eb84-42dc-a79f-5e7b1fe897b7",
"b450500-eb84-42dc-a79f-5e7b1fe897c8"
]
}
]
weights
(skills_match · object | desired_functions · object | geo_distance · object | language · object | custom_property · object | custom_property_is_in · object | custom_property_is_in_list · object | custom_property_contains · object | custom_property_contains_element · object | custom_property_list_overlap · object)[]
required
Example:
[
{ "weight": "skills_match", "value": 1 },
{
"weight": "desired_functions",
"value": 0.03
},
{
"weight": "geo_distance",
"value": 0.1,
"full_score_distance": 5,
"zero_score_distance": 50
},
{
"weight": "language",
"value": 0.1,
"max_overqualification": 2,
"max_underqualification": 3
},
{
"weight": "custom_property",
"value": 0.04,
"property_name": "yearly_salary",
"operator": "gte",
"property_value": 45000
},
{
"weight": "custom_property_is_in",
"value": 0.06,
"from_entity_property": "desired_work_regime",
"to_entity_property": "offered_work_regimes"
},
{
"weight": "custom_property_is_in_list",
"value": 0.05,
"property_name": "region",
"possible_values": ["Flanders", "Wallonia"]
},
{
"weight": "custom_property_contains",
"value": 0.07,
"from_entity_property": "sectors",
"to_entity_property": "desired_sector"
},
{
"weight": "custom_property_contains_element",
"value": 0.04,
"property_name": "industries",
"property_value": ["Electronics", "Aviation"]
},
{
"weight": "custom_property_list_overlap",
"value": 0.04,
"from_entity_property": "desired_industries",
"to_entity_property": "industries"
}
]
limit
integer
default:10

The maximum number of entities to calculate matches for. This controls how many source entities will be processed for matching calculations.

Required range: 1 <= x <= 50
Example:

10

match_limit_per_entity
integer
default:10

The maximum number of matches to return per entity. This controls how many of the best matching results are returned for each source entity.

Required range: 1 <= x <= 100
Example:

10

score_min_threshold
number<float>
default:0.5

The minimum threshold score to apply to match results. All matches with scores below this threshold will not be returned. Due to approximations for fast result-delivery, there might be records with a score slightly lower than the minimum.

Required range: 0 <= x <= 1
Example:

0.7

starting_after
string<uuid>

The UUID of the entity to start pagination after. This is used for cursor-based pagination to retrieve the next page of results. Leave empty or null to start from the beginning.

Required string length: 1 - 100
Example:

"a3903505-eb84-42dc-a79f-5e7b1fe897b7"

Response

OK

records
Simple · object[]
required

List of match results.

has_next
boolean

True when there is more data after this page.

Example:

true

next_starting_after
string<uuid>

The next starting_after value for pagination.

Required string length: 1 - 100
Example:

"a3903505-eb84-42dc-a79f-5e7b1fe897b7"